package com.wdb007.venus.svc.dal.book.dao;

import java.util.List;

import com.wdb007.venus.svc.dal.book.model.BookBorrowedListDO;
import com.wdb007.venus.svc.dal.book.model.BookInfoDO;
import com.wdb007.venus.svc.dal.book.model.BookQueryPageDO;
import com.wdb007.venus.svc.dal.book.model.BookRecommendationInfoDO;
import com.wdb007.venus.svc.dal.book.model.BookShelfInfoDO;
import com.wdb007.venus.svc.dal.book.model.BookShelfInfoQueryDO;
import com.wdb007.venus.svc.dal.book.model.BorrowedBookDO;

public interface BookInfoDAO {
	
    int remove(String isbnNo);

    int insert(BookInfoDO record);

    BookInfoDO get(String isbnNo);

    int update(BookInfoDO record);
    
    List<BorrowedBookDO> getBorrowList(BookBorrowedListDO bookBorrowedListDO);
    
    List<BookShelfInfoDO> queryBookInfo(BookShelfInfoQueryDO queryDO);
    
    List<BookRecommendationInfoDO> queryBookBorrowCountAndRecommendation(BookQueryPageDO pageDO);
    
    List<BookRecommendationInfoDO> queryShelfBookList(BookQueryPageDO pageDO);
    
    int countShelfBookList(BookQueryPageDO pageDO);
    
}